# 考虑到遍历最短的数组可能会报错，一旦报错我们就返回结果
def longestCommonPrefix(strs):
    ans = ''
    count = 0
    while True:
        try:
            temp = strs[0][count]
            for i in strs:
                if i[count] != temp:
                    return ans
            ans = ans + temp
            count = count + 1
        except:  # 短的数组越界
            return ans

# 另一个先获取最小最大值。这里字符串之间的比较大小就是比较第一个字符的大小。
# 设想一下，如果许多个字符串，如果前几个字符都一样，那么不会比较出结果。后面不一样就会产生最大最小值。也就是我们
# 得出最大最小值之后这两个开始不一样的地方就是所有字符串出现不相同的地方。
def way2(strs):
    if not strs: return ""
    str0 = min(strs)
    str1 = max(strs)
    print(str0)
    print(str1)
    for i in range(len(str0)):
        if str0[i] != str1[i]:
            return str0[:i]
    return str0

if __name__ == '__main__':
    print(way2(["flow","floawfight","flight"]))